﻿using System;
using System.Windows.Forms;

using Detective.View.ConsoleViews.Base;

namespace Detective.View.ConsoleViews
{
    public class HelpView : BaseChildView
    {
        public HelpView()
        {
            Width = Console.WindowWidth - 4;
            Height = 9;
        }

        public override void RefreshView()
        {
            ClearViewAndWriteBorder();

            WriteLine("1. Об игре");
            WriteLine("2. Управление");
            WriteLine("3. Игровая механика");
            WriteLine();
            Write("<-"); WriteToRight("Нажмите на цифру или стрелку влево для выхода");
        }

        public override void OnKeyDown(KeyEventArgs arg)
        {
            switch (arg.KeyCode)
            {
                case Keys.D1:
                    Parent.Show(new SimpleView(new[]
                        {
                            "Об игре:",
                            "",
                            "Работа частного детектива схожа с работой следователя в государственных следственных органах. Поэтому частным сыском часто занимаются бывшие следователи: они обладают неоценимым опытом, без которого успешная работа невозможна.",
                        }, "<-", "Нажмите стрелку влево для выхода", Console.WindowWidth - 8));
                    break;
                case Keys.D2:
                    Parent.Show(new SimpleView(new[]
                        {
                            "Управление:",
                            "",
                            "Escape в основном меню для выхода",
                            "Цифры 1-7 для выбора пункта меню",
                            "Стрелки влево и вправо для навигации по меню",
                        }, "<-", "Нажмите стрелку влево для выхода", Console.WindowWidth - 8));
                    break;
                case Keys.D3:
                    Parent.Show(new SimpleView(new[]
                        {
                            "Игровая механика:",
                            "",
                            "Длинный перечень навыков..."
                        }, "<-", "Нажмите стрелку влево для выхода", Console.WindowWidth - 8));
                    break;
                case Keys.Left:
                    Parent.CloseMe(this);
                    break;
            }
        }
    }
}